
/**
 * 功能:tab切换
 * @param {*} tabParent 菜单选项的父元素
 * @param {*} eventSource 传入的事件源对象
 * @param {*} tabMenu 菜单选项
 * @param {*} menuStyle 菜单选项的激活样式
 * @param {*} tabContent 菜单内容
 * @param {*} contentStyle 菜单内容的激活样式
 */
let tabCard = function (tabParent, eventSource, tabMenu, menuStyle, tabContent, contentStyle) {
    // 遍历菜单选项,并给每一个子菜单添加辨别标识num
    tabMenu.forEach(function (v, i) {
        v.num = i;
    })
    // 遍历菜单内容,并给每一个子内容添加辨别标识num
    tabContent.forEach(function (v, i) {
        v.num = i;
    })
    // 定义保存初始化的索引
    let tabIndex = 0;
    //事件委派:给共同的父元素绑定单击事件
    tabParent.addEventListener('click', function (event) {
        // 获取触发事件的事件源
        let target = event.target;
        // 判断事件源的节点名
        if (target.nodeName == eventSource) {
            // 移除上一个菜单激活样式
            tabMenu[tabIndex].classList.remove(menuStyle);
            // 给当前事件源对象添加激活样式
            target.classList.add(menuStyle);

            // 移除上一个菜单内容激活样式
            tabContent[tabIndex].classList.remove(contentStyle);
            // 给当前事件源对象添加激活样式
            tabContent[target.num].classList.add(contentStyle);
            // 保存当前索引
            tabIndex = target.num;
        }
    })
}